eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
↳ QTRS
↳ Non-Overlap Check
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
MINSORT2(add2(n, x), y) -> IF_MINSORT3(eq2(n, min1(add2(n, x))), add2(n, x), y)
MINSORT2(add2(n, x), y) -> MIN1(add2(n, x))
MIN1(add2(n, add2(m, x))) -> IF_MIN2(le2(n, m), add2(n, add2(m, x)))
IF_MINSORT3(true, add2(n, x), y) -> APP2(rm2(n, x), y)
IF_RM3(true, n, add2(m, x)) -> RM2(n, x)
IF_MIN2(false, add2(n, add2(m, x))) -> MIN1(add2(m, x))
IF_MINSORT3(false, add2(n, x), y) -> MINSORT2(x, add2(n, y))
IF_MIN2(true, add2(n, add2(m, x))) -> MIN1(add2(n, x))
RM2(n, add2(m, x)) -> EQ2(n, m)
EQ2(s1(x), s1(y)) -> EQ2(x, y)
IF_MINSORT3(true, add2(n, x), y) -> MINSORT2(app2(rm2(n, x), y), nil)
MIN1(add2(n, add2(m, x))) -> LE2(n, m)
RM2(n, add2(m, x)) -> IF_RM3(eq2(n, m), n, add2(m, x))
LE2(s1(x), s1(y)) -> LE2(x, y)
MINSORT2(add2(n, x), y) -> EQ2(n, min1(add2(n, x)))
IF_RM3(false, n, add2(m, x)) -> RM2(n, x)
IF_MINSORT3(true, add2(n, x), y) -> RM2(n, x)
APP2(add2(n, x), y) -> APP2(x, y)
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
MINSORT2(add2(n, x), y) -> IF_MINSORT3(eq2(n, min1(add2(n, x))), add2(n, x), y)
MINSORT2(add2(n, x), y) -> MIN1(add2(n, x))
MIN1(add2(n, add2(m, x))) -> IF_MIN2(le2(n, m), add2(n, add2(m, x)))
IF_MINSORT3(true, add2(n, x), y) -> APP2(rm2(n, x), y)
IF_RM3(true, n, add2(m, x)) -> RM2(n, x)
IF_MIN2(false, add2(n, add2(m, x))) -> MIN1(add2(m, x))
IF_MINSORT3(false, add2(n, x), y) -> MINSORT2(x, add2(n, y))
IF_MIN2(true, add2(n, add2(m, x))) -> MIN1(add2(n, x))
RM2(n, add2(m, x)) -> EQ2(n, m)
EQ2(s1(x), s1(y)) -> EQ2(x, y)
IF_MINSORT3(true, add2(n, x), y) -> MINSORT2(app2(rm2(n, x), y), nil)
MIN1(add2(n, add2(m, x))) -> LE2(n, m)
RM2(n, add2(m, x)) -> IF_RM3(eq2(n, m), n, add2(m, x))
LE2(s1(x), s1(y)) -> LE2(x, y)
MINSORT2(add2(n, x), y) -> EQ2(n, min1(add2(n, x)))
IF_RM3(false, n, add2(m, x)) -> RM2(n, x)
IF_MINSORT3(true, add2(n, x), y) -> RM2(n, x)
APP2(add2(n, x), y) -> APP2(x, y)
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
APP2(add2(n, x), y) -> APP2(x, y)
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
APP2(add2(n, x), y) -> APP2(x, y)
[APP1, add1]
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
LE2(s1(x), s1(y)) -> LE2(x, y)
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
LE2(s1(x), s1(y)) -> LE2(x, y)
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
MIN1(add2(n, add2(m, x))) -> IF_MIN2(le2(n, m), add2(n, add2(m, x)))
IF_MIN2(false, add2(n, add2(m, x))) -> MIN1(add2(m, x))
IF_MIN2(true, add2(n, add2(m, x))) -> MIN1(add2(n, x))
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
MIN1(add2(n, add2(m, x))) -> IF_MIN2(le2(n, m), add2(n, add2(m, x)))
IF_MIN2(false, add2(n, add2(m, x))) -> MIN1(add2(m, x))
IF_MIN2(true, add2(n, add2(m, x))) -> MIN1(add2(n, x))
add2 > [MIN1, le2, false]
0 > true > [MIN1, le2, false]
s1 > [MIN1, le2, false]
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
EQ2(s1(x), s1(y)) -> EQ2(x, y)
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
EQ2(s1(x), s1(y)) -> EQ2(x, y)
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
RM2(n, add2(m, x)) -> IF_RM3(eq2(n, m), n, add2(m, x))
IF_RM3(true, n, add2(m, x)) -> RM2(n, x)
IF_RM3(false, n, add2(m, x)) -> RM2(n, x)
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
IF_RM3(true, n, add2(m, x)) -> RM2(n, x)
IF_RM3(false, n, add2(m, x)) -> RM2(n, x)
Used ordering: Combined order from the following AFS and order.
RM2(n, add2(m, x)) -> IF_RM3(eq2(n, m), n, add2(m, x))
0 > [add1, eq, true] > [false, s]
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
RM2(n, add2(m, x)) -> IF_RM3(eq2(n, m), n, add2(m, x))
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
MINSORT2(add2(n, x), y) -> IF_MINSORT3(eq2(n, min1(add2(n, x))), add2(n, x), y)
IF_MINSORT3(true, add2(n, x), y) -> MINSORT2(app2(rm2(n, x), y), nil)
IF_MINSORT3(false, add2(n, x), y) -> MINSORT2(x, add2(n, y))
eq2(0, 0) -> true
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
app2(nil, y) -> y
app2(add2(n, x), y) -> add2(n, app2(x, y))
min1(add2(n, nil)) -> n
min1(add2(n, add2(m, x))) -> if_min2(le2(n, m), add2(n, add2(m, x)))
if_min2(true, add2(n, add2(m, x))) -> min1(add2(n, x))
if_min2(false, add2(n, add2(m, x))) -> min1(add2(m, x))
rm2(n, nil) -> nil
rm2(n, add2(m, x)) -> if_rm3(eq2(n, m), n, add2(m, x))
if_rm3(true, n, add2(m, x)) -> rm2(n, x)
if_rm3(false, n, add2(m, x)) -> add2(m, rm2(n, x))
minsort2(nil, nil) -> nil
minsort2(add2(n, x), y) -> if_minsort3(eq2(n, min1(add2(n, x))), add2(n, x), y)
if_minsort3(true, add2(n, x), y) -> add2(n, minsort2(app2(rm2(n, x), y), nil))
if_minsort3(false, add2(n, x), y) -> minsort2(x, add2(n, y))
eq2(0, 0)
eq2(0, s1(x0))
eq2(s1(x0), 0)
eq2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
app2(nil, x0)
app2(add2(x0, x1), x2)
min1(add2(x0, nil))
min1(add2(x0, add2(x1, x2)))
if_min2(true, add2(x0, add2(x1, x2)))
if_min2(false, add2(x0, add2(x1, x2)))
rm2(x0, nil)
rm2(x0, add2(x1, x2))
if_rm3(true, x0, add2(x1, x2))
if_rm3(false, x0, add2(x1, x2))
minsort2(nil, nil)
minsort2(add2(x0, x1), x2)
if_minsort3(true, add2(x0, x1), x2)
if_minsort3(false, add2(x0, x1), x2)